package com.martin.dms.model;

/**
 * Item available for purchase.
 * 
 * @author mtsvetkov
 */
public interface Item extends DMSObject {

    /**
     * Getter for the name of the item.
     * 
     * @return the item's name.
     */
    public String getName();

    /**
     * Getter for the price of the item.
     * 
     * @return the item's price.
     */
    public int getPrice();

    /**
     * Getter for the description of the item.
     * 
     * @return the item's description.
     */
    public String getDescription();

    /**
     * Gets the image bytes.
     * 
     * @return the bytes data of the image.
     */
    public byte[] getImage();

    /**
     * Gets the amount of items of this type in stock.
     * 
     * @return the amount of items.
     */
    public int getAmount();

    /**
     * Gets the category of the item.
     * 
     * @return a category.
     */
    public Category getCategory();
}
